﻿using System;

namespace TemplateEngine.TranslateFunctions
{
    internal class RandomFunction : ICommand
    {
        public string Execute(System.Xml.XmlNode xmlNode, TemplateNode templateNode, object[] args)
        {
            int max = int.MinValue,
                min = int.MinValue;
            if (args.Length > 0)
            {
                string strMax = args[0].ToString();
                max = int.Parse(strMax);
            }

            if (args.Length == 2)
            {
                string strMin = args[1].ToString();
                min = int.Parse(strMin);
            }

            Random random = new Random();
            if (max == int.MinValue && min == int.MinValue)
            {
                return random.Next().ToString();
            }

            if (max != int.MinValue && min == int.MinValue)
            {
                return random.Next(max).ToString();
            }

            return random.Next(min, max).ToString();
        }
    }
}
